const db = wx.cloud.database()
// pages/shop/shop.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    categories: [
      { 
        id: '文创产品', 
        name: '文创产品', 
        active: true
      },
      { 
        id: '服装', 
        name: '服装', 
        active: false
      },
      { 
        id: '个性设计', 
        name: '个性设计', 
        active: false
      }
    ],
    currentCategory: '文创产品',
    currentView: 'category-文创产品',
    products: [],
    loading: false,
    error: null
  },

  onLoad(options) {
    // 初始化云开发
    if (!wx.cloud) {
      console.error('请使用 2.2.3 或以上的基础库以使用云能力')
      return
    }
    wx.cloud.init({
      env: 'cloud1-8gwh1ci18387a1b9',
      traceUser: true
    })
    
    this.loadProducts()
  },

  onPullDownRefresh() {
    this.loadProducts(() => {
      wx.stopPullDownRefresh()
    })
  },

  // 加载商品数据
  loadProducts(callback) {
    this.setData({ loading: true, error: null })
    
    console.log('开始加载商品数据，当前分类：', this.data.currentCategory)
    
    wx.showLoading({
      title: '加载中...',
    })

    db.collection('shop_list')
      .where({
        category: this.data.currentCategory
      })
      .get()
      .then(res => {
        console.log('获取到的商品数据：', res.data)
        this.setData({
          products: res.data,
          loading: false
        })
        wx.hideLoading()
        if (callback) callback()
      })
      .catch(err => {
        console.error('加载商品失败：', err)
        this.setData({
          error: '加载商品失败，请重试',
          loading: false
        })
        wx.hideLoading()
        if (callback) callback()
      })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 页面加载时不需要额外操作，因为数据已经在data中
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.loadProducts()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  // 处理分类点击
  handleCategoryClick(e) {
    const categoryId = e.currentTarget.dataset.id;
    console.log('切换分类：', categoryId)
    
    // 更新分类状态
    const categories = this.data.categories.map(item => ({
      ...item,
      active: item.id === categoryId
    }));
    
    this.setData({
      categories,
      currentCategory: categoryId,
      currentView: `category-${categoryId}`
    }, () => {
      // 切换分类后重新加载商品
      this.loadProducts()
    })
  },

  // 跳转到商品详情
  goToDetail(e) {
    const { id } = e.currentTarget.dataset
    wx.navigateTo({
      url: `/pages/good-des/good-des?id=${id}`
    })
  }
})